﻿/*
 * XCoder v3.4.2011.0316
 * 作者：nnhy/X
 * 时间：2011-04-04 11:43:06
 * 版权：版权所有 (C) 新生命开发团队 2010
*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using XCode;
using XCode.DataAccessLayer;

namespace NXCMS.Shop
{
	/// <summary>
	/// 存储
	/// </summary>
	[Serializable]
	[DataObject]
	[Description("存储")]
	[BindTable("Store", Description = "存储", ConnName = "Shop", DbType = DatabaseType.SqlServer)]
	public partial class Store
	{
		#region 属性
		private Int32 _ID;
		/// <summary>
		/// 编号
		/// </summary>
		[Description("编号")]
		[DataObjectField(true, true, false, 10)]
		[BindColumn(1, "ID", "编号", "", "int", 10, 0, false)]
		public Int32 ID
		{
			get { return _ID; }
			set { if (OnPropertyChange("ID", value)) _ID = value; }
		}

		private String _StoreCode;
		/// <summary>
		/// 存储代码
		/// </summary>
		[Description("存储代码")]
		[DataObjectField(false, false, false, 100)]
		[BindColumn(2, "StoreCode", "存储代码", "", "nvarchar(100)", 0, 0, true)]
		public String StoreCode
		{
			get { return _StoreCode; }
			set { if (OnPropertyChange("StoreCode", value)) _StoreCode = value; }
		}

		private String _ParentCode;
		/// <summary>
		/// 父代码
		/// </summary>
		[Description("父代码")]
		[DataObjectField(false, false, false, 100)]
		[BindColumn(3, "ParentCode", "父代码", "", "nvarchar(100)", 0, 0, true)]
		public String ParentCode
		{
			get { return _ParentCode; }
			set { if (OnPropertyChange("ParentCode", value)) _ParentCode = value; }
		}

		private String _Name;
		/// <summary>
		/// 名称
		/// </summary>
		[Description("名称")]
		[DataObjectField(false, false, false, 100)]
		[BindColumn(4, "Name", "名称", "", "nvarchar(100)", 0, 0, true)]
		public String Name
		{
			get { return _Name; }
			set { if (OnPropertyChange("Name", value)) _Name = value; }
		}

		private String _Alias;
		/// <summary>
		/// 别名
		/// </summary>
		[Description("别名")]
		[DataObjectField(false, false, true, 100)]
		[BindColumn(5, "Alias", "别名", "", "nvarchar(100)", 0, 0, true)]
		public String Alias
		{
			get { return _Alias; }
			set { if (OnPropertyChange("Alias", value)) _Alias = value; }
		}

		private Int32 _TreeLevel;
		/// <summary>
		/// 免费等级
		/// </summary>
		[Description("免费等级")]
		[DataObjectField(false, false, false, 10)]
		[BindColumn(6, "TreeLevel", "免费等级", "", "int", 10, 0, false)]
		public Int32 TreeLevel
		{
			get { return _TreeLevel; }
			set { if (OnPropertyChange("TreeLevel", value)) _TreeLevel = value; }
		}

		private Int32 _SiteID;
		/// <summary>
		/// 站点编号
		/// </summary>
		[Description("站点编号")]
		[DataObjectField(false, false, false, 10)]
		[BindColumn(7, "SiteID", "站点编号", "", "int", 10, 0, false)]
		public Int32 SiteID
		{
			get { return _SiteID; }
			set { if (OnPropertyChange("SiteID", value)) _SiteID = value; }
		}

		private Int32 _OrderFlag;
		/// <summary>
		/// 订单标记
		/// </summary>
		[Description("订单标记")]
		[DataObjectField(false, false, false, 10)]
		[BindColumn(8, "OrderFlag", "订单标记", "", "int", 10, 0, false)]
		public Int32 OrderFlag
		{
			get { return _OrderFlag; }
			set { if (OnPropertyChange("OrderFlag", value)) _OrderFlag = value; }
		}

		private String _URL;
		/// <summary>
		/// 网址
		/// </summary>
		[Description("网址")]
		[DataObjectField(false, false, true, 100)]
		[BindColumn(9, "URL", "网址", "", "nvarchar(100)", 0, 0, true)]
		public String URL
		{
			get { return _URL; }
			set { if (OnPropertyChange("URL", value)) _URL = value; }
		}

		private String _Info;
		/// <summary>
		/// 信息
		/// </summary>
		[Description("信息")]
		[DataObjectField(false, false, true, 2000)]
		[BindColumn(10, "Info", "信息", "", "nvarchar(2000)", 0, 0, true)]
		public String Info
		{
			get { return _Info; }
			set { if (OnPropertyChange("Info", value)) _Info = value; }
		}

		private String _Country;
		/// <summary>
		/// 国家
		/// </summary>
		[Description("国家")]
		[DataObjectField(false, false, true, 30)]
		[BindColumn(11, "Country", "国家", "", "nvarchar(30)", 0, 0, true)]
		public String Country
		{
			get { return _Country; }
			set { if (OnPropertyChange("Country", value)) _Country = value; }
		}

		private String _Province;
		/// <summary>
		/// 省
		/// </summary>
		[Description("省")]
		[DataObjectField(false, false, true, 6)]
		[BindColumn(12, "Province", "省", "", "nvarchar(6)", 0, 0, true)]
		public String Province
		{
			get { return _Province; }
			set { if (OnPropertyChange("Province", value)) _Province = value; }
		}

		private String _City;
		/// <summary>
		/// 城市
		/// </summary>
		[Description("城市")]
		[DataObjectField(false, false, true, 6)]
		[BindColumn(13, "City", "城市", "", "nvarchar(6)", 0, 0, true)]
		public String City
		{
			get { return _City; }
			set { if (OnPropertyChange("City", value)) _City = value; }
		}

		private String _District;
		/// <summary>
		/// 区域
		/// </summary>
		[Description("区域")]
		[DataObjectField(false, false, true, 6)]
		[BindColumn(14, "District", "区域", "", "nvarchar(6)", 0, 0, true)]
		public String District
		{
			get { return _District; }
			set { if (OnPropertyChange("District", value)) _District = value; }
		}

		private String _Address;
		/// <summary>
		/// 地址
		/// </summary>
		[Description("地址")]
		[DataObjectField(false, false, true, 400)]
		[BindColumn(15, "Address", "地址", "", "nvarchar(400)", 0, 0, true)]
		public String Address
		{
			get { return _Address; }
			set { if (OnPropertyChange("Address", value)) _Address = value; }
		}

		private String _ZipCode;
		/// <summary>
		/// 邮政编码
		/// </summary>
		[Description("邮政编码")]
		[DataObjectField(false, false, true, 10)]
		[BindColumn(16, "ZipCode", "邮政编码", "", "nvarchar(10)", 0, 0, true)]
		public String ZipCode
		{
			get { return _ZipCode; }
			set { if (OnPropertyChange("ZipCode", value)) _ZipCode = value; }
		}

		private String _Tel;
		/// <summary>
		/// 电话
		/// </summary>
		[Description("电话")]
		[DataObjectField(false, false, true, 20)]
		[BindColumn(17, "Tel", "电话", "", "nvarchar(20)", 0, 0, true)]
		public String Tel
		{
			get { return _Tel; }
			set { if (OnPropertyChange("Tel", value)) _Tel = value; }
		}

		private String _Fax;
		/// <summary>
		/// 传真
		/// </summary>
		[Description("传真")]
		[DataObjectField(false, false, true, 20)]
		[BindColumn(18, "Fax", "传真", "", "nvarchar(20)", 0, 0, true)]
		public String Fax
		{
			get { return _Fax; }
			set { if (OnPropertyChange("Fax", value)) _Fax = value; }
		}

		private String _Mobile;
		/// <summary>
		/// 手机
		/// </summary>
		[Description("手机")]
		[DataObjectField(false, false, true, 30)]
		[BindColumn(19, "Mobile", "手机", "", "nvarchar(30)", 0, 0, true)]
		public String Mobile
		{
			get { return _Mobile; }
			set { if (OnPropertyChange("Mobile", value)) _Mobile = value; }
		}

		private String _Contacter;
		/// <summary>
		/// 联系人
		/// </summary>
		[Description("联系人")]
		[DataObjectField(false, false, true, 40)]
		[BindColumn(20, "Contacter", "联系人", "", "nvarchar(40)", 0, 0, true)]
		public String Contacter
		{
			get { return _Contacter; }
			set { if (OnPropertyChange("Contacter", value)) _Contacter = value; }
		}

		private String _ContacterEmail;
		/// <summary>
		/// 联系人邮件
		/// </summary>
		[Description("联系人邮件")]
		[DataObjectField(false, false, true, 100)]
		[BindColumn(21, "ContacterEmail", "联系人邮件", "", "nvarchar(100)", 0, 0, true)]
		public String ContacterEmail
		{
			get { return _ContacterEmail; }
			set { if (OnPropertyChange("ContacterEmail", value)) _ContacterEmail = value; }
		}

		private String _ContacterTel;
		/// <summary>
		/// 联系人电话
		/// </summary>
		[Description("联系人电话")]
		[DataObjectField(false, false, true, 20)]
		[BindColumn(22, "ContacterTel", "联系人电话", "", "nvarchar(20)", 0, 0, true)]
		public String ContacterTel
		{
			get { return _ContacterTel; }
			set { if (OnPropertyChange("ContacterTel", value)) _ContacterTel = value; }
		}

		private String _ContacterMobile;
		/// <summary>
		/// 联系人手机
		/// </summary>
		[Description("联系人手机")]
		[DataObjectField(false, false, true, 20)]
		[BindColumn(23, "ContacterMobile", "联系人手机", "", "nvarchar(20)", 0, 0, true)]
		public String ContacterMobile
		{
			get { return _ContacterMobile; }
			set { if (OnPropertyChange("ContacterMobile", value)) _ContacterMobile = value; }
		}

		private String _ContacterQQ;
		/// <summary>
		/// 联系人
		/// </summary>
		[Description("联系人")]
		[DataObjectField(false, false, true, 20)]
		[BindColumn(24, "ContacterQQ", "联系人", "", "nvarchar(20)", 0, 0, true)]
		public String ContacterQQ
		{
			get { return _ContacterQQ; }
			set { if (OnPropertyChange("ContacterQQ", value)) _ContacterQQ = value; }
		}

		private String _ContacterMSN;
		/// <summary>
		/// 联系人
		/// </summary>
		[Description("联系人")]
		[DataObjectField(false, false, true, 50)]
		[BindColumn(25, "ContacterMSN", "联系人", "", "nvarchar(50)", 0, 0, true)]
		public String ContacterMSN
		{
			get { return _ContacterMSN; }
			set { if (OnPropertyChange("ContacterMSN", value)) _ContacterMSN = value; }
		}

		private String _Memo;
		/// <summary>
		/// 注释
		/// </summary>
		[Description("注释")]
		[DataObjectField(false, false, true, 200)]
		[BindColumn(26, "Memo", "注释", "", "nvarchar(200)", 0, 0, true)]
		public String Memo
		{
			get { return _Memo; }
			set { if (OnPropertyChange("Memo", value)) _Memo = value; }
		}

		private String _Prop1;
		/// <summary>
		/// 属性1
		/// </summary>
		[Description("属性1")]
		[DataObjectField(false, false, true, 200)]
		[BindColumn(27, "Prop1", "属性1", "", "nvarchar(200)", 0, 0, true)]
		public String Prop1
		{
			get { return _Prop1; }
			set { if (OnPropertyChange("Prop1", value)) _Prop1 = value; }
		}

		private String _Prop2;
		/// <summary>
		/// 属性2
		/// </summary>
		[Description("属性2")]
		[DataObjectField(false, false, true, 200)]
		[BindColumn(28, "Prop2", "属性2", "", "nvarchar(200)", 0, 0, true)]
		public String Prop2
		{
			get { return _Prop2; }
			set { if (OnPropertyChange("Prop2", value)) _Prop2 = value; }
		}

		private String _Prop3;
		/// <summary>
		/// 属性3
		/// </summary>
		[Description("属性3")]
		[DataObjectField(false, false, true, 200)]
		[BindColumn(29, "Prop3", "属性3", "", "nvarchar(200)", 0, 0, true)]
		public String Prop3
		{
			get { return _Prop3; }
			set { if (OnPropertyChange("Prop3", value)) _Prop3 = value; }
		}

		private String _Prop4;
		/// <summary>
		/// 属性4
		/// </summary>
		[Description("属性4")]
		[DataObjectField(false, false, true, 200)]
		[BindColumn(30, "Prop4", "属性4", "", "nvarchar(200)", 0, 0, true)]
		public String Prop4
		{
			get { return _Prop4; }
			set { if (OnPropertyChange("Prop4", value)) _Prop4 = value; }
		}

		private String _AddUser;
		/// <summary>
		/// 添加用户
		/// </summary>
		[Description("添加用户")]
		[DataObjectField(false, false, false, 200)]
		[BindColumn(31, "AddUser", "添加用户", "", "nvarchar(200)", 0, 0, true)]
		public String AddUser
		{
			get { return _AddUser; }
			set { if (OnPropertyChange("AddUser", value)) _AddUser = value; }
		}

		private DateTime _AddTime;
		/// <summary>
		/// 添加时间
		/// </summary>
		[Description("添加时间")]
		[DataObjectField(false, false, false, 7)]
		[BindColumn(32, "AddTime", "添加时间", "", "datetime2", 7, 0, false)]
		public DateTime AddTime
		{
			get { return _AddTime; }
			set { if (OnPropertyChange("AddTime", value)) _AddTime = value; }
		}

		private String _ModifyUser;
		/// <summary>
		/// 修改用户
		/// </summary>
		[Description("修改用户")]
		[DataObjectField(false, false, true, 200)]
		[BindColumn(33, "ModifyUser", "修改用户", "", "nvarchar(200)", 0, 0, true)]
		public String ModifyUser
		{
			get { return _ModifyUser; }
			set { if (OnPropertyChange("ModifyUser", value)) _ModifyUser = value; }
		}

		private DateTime _ModifyTime;
		/// <summary>
		/// 修改时间
		/// </summary>
		[Description("修改时间")]
		[DataObjectField(false, false, true, 7)]
		[BindColumn(34, "ModifyTime", "修改时间", "", "datetime2", 7, 0, false)]
		public DateTime ModifyTime
		{
			get { return _ModifyTime; }
			set { if (OnPropertyChange("ModifyTime", value)) _ModifyTime = value; }
		}

		private String _BackupNo;
		/// <summary>
		/// 备份编号
		/// </summary>
		[Description("备份编号")]
		[DataObjectField(false, false, true, 15)]
		[BindColumn(35, "BackupNo", "备份编号", "", "nvarchar(15)", 0, 0, true)]
		public String BackupNo
		{
			get { return _BackupNo; }
			set { if (OnPropertyChange("BackupNo", value)) _BackupNo = value; }
		}

		private String _BackupOperator;
		/// <summary>
		/// 备份操作者
		/// </summary>
		[Description("备份操作者")]
		[DataObjectField(false, false, true, 200)]
		[BindColumn(36, "BackupOperator", "备份操作者", "", "nvarchar(200)", 0, 0, true)]
		public String BackupOperator
		{
			get { return _BackupOperator; }
			set { if (OnPropertyChange("BackupOperator", value)) _BackupOperator = value; }
		}

		private DateTime _BackupTime;
		/// <summary>
		/// 备份时间
		/// </summary>
		[Description("备份时间")]
		[DataObjectField(false, false, true, 7)]
		[BindColumn(37, "BackupTime", "备份时间", "", "datetime2", 7, 0, false)]
		public DateTime BackupTime
		{
			get { return _BackupTime; }
			set { if (OnPropertyChange("BackupTime", value)) _BackupTime = value; }
		}

		private String _BackupMemo;
		/// <summary>
		/// 备份注释
		/// </summary>
		[Description("备份注释")]
		[DataObjectField(false, false, true, 50)]
		[BindColumn(38, "BackupMemo", "备份注释", "", "nvarchar(50)", 0, 0, true)]
		public String BackupMemo
		{
			get { return _BackupMemo; }
			set { if (OnPropertyChange("BackupMemo", value)) _BackupMemo = value; }
		}
		#endregion

		#region 获取/设置 字段值
		/// <summary>
		/// 获取/设置 字段值。
		/// 一个索引，基类使用反射实现。
		/// 派生实体类可重写该索引，以避免反射带来的性能损耗
		/// </summary>
		/// <param name="name">字段名</param>
		/// <returns></returns>
		public override Object this[String name]
		{
			get
			{
				switch (name)
				{
					case "ID" : return _ID;
					case "StoreCode" : return _StoreCode;
					case "ParentCode" : return _ParentCode;
					case "Name" : return _Name;
					case "Alias" : return _Alias;
					case "TreeLevel" : return _TreeLevel;
					case "SiteID" : return _SiteID;
					case "OrderFlag" : return _OrderFlag;
					case "URL" : return _URL;
					case "Info" : return _Info;
					case "Country" : return _Country;
					case "Province" : return _Province;
					case "City" : return _City;
					case "District" : return _District;
					case "Address" : return _Address;
					case "ZipCode" : return _ZipCode;
					case "Tel" : return _Tel;
					case "Fax" : return _Fax;
					case "Mobile" : return _Mobile;
					case "Contacter" : return _Contacter;
					case "ContacterEmail" : return _ContacterEmail;
					case "ContacterTel" : return _ContacterTel;
					case "ContacterMobile" : return _ContacterMobile;
					case "ContacterQQ" : return _ContacterQQ;
					case "ContacterMSN" : return _ContacterMSN;
					case "Memo" : return _Memo;
					case "Prop1" : return _Prop1;
					case "Prop2" : return _Prop2;
					case "Prop3" : return _Prop3;
					case "Prop4" : return _Prop4;
					case "AddUser" : return _AddUser;
					case "AddTime" : return _AddTime;
					case "ModifyUser" : return _ModifyUser;
					case "ModifyTime" : return _ModifyTime;
					case "BackupNo" : return _BackupNo;
					case "BackupOperator" : return _BackupOperator;
					case "BackupTime" : return _BackupTime;
					case "BackupMemo" : return _BackupMemo;
					default: return base[name];
				}
			}
			set
			{
				switch (name)
				{
					case "ID" : _ID = Convert.ToInt32(value); break;
					case "StoreCode" : _StoreCode = Convert.ToString(value); break;
					case "ParentCode" : _ParentCode = Convert.ToString(value); break;
					case "Name" : _Name = Convert.ToString(value); break;
					case "Alias" : _Alias = Convert.ToString(value); break;
					case "TreeLevel" : _TreeLevel = Convert.ToInt32(value); break;
					case "SiteID" : _SiteID = Convert.ToInt32(value); break;
					case "OrderFlag" : _OrderFlag = Convert.ToInt32(value); break;
					case "URL" : _URL = Convert.ToString(value); break;
					case "Info" : _Info = Convert.ToString(value); break;
					case "Country" : _Country = Convert.ToString(value); break;
					case "Province" : _Province = Convert.ToString(value); break;
					case "City" : _City = Convert.ToString(value); break;
					case "District" : _District = Convert.ToString(value); break;
					case "Address" : _Address = Convert.ToString(value); break;
					case "ZipCode" : _ZipCode = Convert.ToString(value); break;
					case "Tel" : _Tel = Convert.ToString(value); break;
					case "Fax" : _Fax = Convert.ToString(value); break;
					case "Mobile" : _Mobile = Convert.ToString(value); break;
					case "Contacter" : _Contacter = Convert.ToString(value); break;
					case "ContacterEmail" : _ContacterEmail = Convert.ToString(value); break;
					case "ContacterTel" : _ContacterTel = Convert.ToString(value); break;
					case "ContacterMobile" : _ContacterMobile = Convert.ToString(value); break;
					case "ContacterQQ" : _ContacterQQ = Convert.ToString(value); break;
					case "ContacterMSN" : _ContacterMSN = Convert.ToString(value); break;
					case "Memo" : _Memo = Convert.ToString(value); break;
					case "Prop1" : _Prop1 = Convert.ToString(value); break;
					case "Prop2" : _Prop2 = Convert.ToString(value); break;
					case "Prop3" : _Prop3 = Convert.ToString(value); break;
					case "Prop4" : _Prop4 = Convert.ToString(value); break;
					case "AddUser" : _AddUser = Convert.ToString(value); break;
					case "AddTime" : _AddTime = Convert.ToDateTime(value); break;
					case "ModifyUser" : _ModifyUser = Convert.ToString(value); break;
					case "ModifyTime" : _ModifyTime = Convert.ToDateTime(value); break;
					case "BackupNo" : _BackupNo = Convert.ToString(value); break;
					case "BackupOperator" : _BackupOperator = Convert.ToString(value); break;
					case "BackupTime" : _BackupTime = Convert.ToDateTime(value); break;
					case "BackupMemo" : _BackupMemo = Convert.ToString(value); break;
					default: base[name] = value; break;
				}
			}
		}
		#endregion

		#region 字段名
		/// <summary>
		/// 取得存储字段名的快捷方式
		/// </summary>
		public class _
		{
			///<summary>
			/// 编号
			///</summary>
			public const String ID = "ID";

			///<summary>
			/// 存储代码
			///</summary>
			public const String StoreCode = "StoreCode";

			///<summary>
			/// 父代码
			///</summary>
			public const String ParentCode = "ParentCode";

			///<summary>
			/// 名称
			///</summary>
			public const String Name = "Name";

			///<summary>
			/// 别名
			///</summary>
			public const String Alias = "Alias";

			///<summary>
			/// 免费等级
			///</summary>
			public const String TreeLevel = "TreeLevel";

			///<summary>
			/// 站点编号
			///</summary>
			public const String SiteID = "SiteID";

			///<summary>
			/// 订单标记
			///</summary>
			public const String OrderFlag = "OrderFlag";

			///<summary>
			/// 网址
			///</summary>
			public const String URL = "URL";

			///<summary>
			/// 信息
			///</summary>
			public const String Info = "Info";

			///<summary>
			/// 国家
			///</summary>
			public const String Country = "Country";

			///<summary>
			/// 省
			///</summary>
			public const String Province = "Province";

			///<summary>
			/// 城市
			///</summary>
			public const String City = "City";

			///<summary>
			/// 区域
			///</summary>
			public const String District = "District";

			///<summary>
			/// 地址
			///</summary>
			public const String Address = "Address";

			///<summary>
			/// 邮政编码
			///</summary>
			public const String ZipCode = "ZipCode";

			///<summary>
			/// 电话
			///</summary>
			public const String Tel = "Tel";

			///<summary>
			/// 传真
			///</summary>
			public const String Fax = "Fax";

			///<summary>
			/// 手机
			///</summary>
			public const String Mobile = "Mobile";

			///<summary>
			/// 联系人
			///</summary>
			public const String Contacter = "Contacter";

			///<summary>
			/// 联系人邮件
			///</summary>
			public const String ContacterEmail = "ContacterEmail";

			///<summary>
			/// 联系人电话
			///</summary>
			public const String ContacterTel = "ContacterTel";

			///<summary>
			/// 联系人手机
			///</summary>
			public const String ContacterMobile = "ContacterMobile";

			///<summary>
			/// 联系人
			///</summary>
			public const String ContacterQQ = "ContacterQQ";

			///<summary>
			/// 联系人
			///</summary>
			public const String ContacterMSN = "ContacterMSN";

			///<summary>
			/// 注释
			///</summary>
			public const String Memo = "Memo";

			///<summary>
			/// 属性1
			///</summary>
			public const String Prop1 = "Prop1";

			///<summary>
			/// 属性2
			///</summary>
			public const String Prop2 = "Prop2";

			///<summary>
			/// 属性3
			///</summary>
			public const String Prop3 = "Prop3";

			///<summary>
			/// 属性4
			///</summary>
			public const String Prop4 = "Prop4";

			///<summary>
			/// 添加用户
			///</summary>
			public const String AddUser = "AddUser";

			///<summary>
			/// 添加时间
			///</summary>
			public const String AddTime = "AddTime";

			///<summary>
			/// 修改用户
			///</summary>
			public const String ModifyUser = "ModifyUser";

			///<summary>
			/// 修改时间
			///</summary>
			public const String ModifyTime = "ModifyTime";

			///<summary>
			/// 备份编号
			///</summary>
			public const String BackupNo = "BackupNo";

			///<summary>
			/// 备份操作者
			///</summary>
			public const String BackupOperator = "BackupOperator";

			///<summary>
			/// 备份时间
			///</summary>
			public const String BackupTime = "BackupTime";

			///<summary>
			/// 备份注释
			///</summary>
			public const String BackupMemo = "BackupMemo";
		}
		#endregion
	}
}